# TouchKeyboard QMake 项目文件
# 适用于触摸一体机的Qt键盘组件

QT += core widgets

CONFIG += c++17
CONFIG += warn_on

TARGET = TouchKeyboard
TEMPLATE = app

# 编译器特定设置
msvc {
    QMAKE_CXXFLAGS += /utf-8
}

# 源文件
SOURCES += \
    main.cpp \
    mainwindow.cpp \
    touchkeyboard.cpp \
    simplekeyboard.cpp \
    fullkeyboard.cpp \
    keyboardbutton.cpp

# 头文件
HEADERS += \
    mainwindow.h \
    touchkeyboard.h \
    simplekeyboard.h \
    fullkeyboard.h \
    keyboardbutton.h

# 资源文件
RESOURCES += resources.qrc

# Windows特定设置
win32 {
    # RC_ICONS = icon.ico
    VERSION = 1.0.0
    QMAKE_TARGET_COMPANY = "BOMCO"
    QMAKE_TARGET_PRODUCT = "TouchKeyboard"
    QMAKE_TARGET_DESCRIPTION = "触摸键盘组件"
    QMAKE_TARGET_COPYRIGHT = "Copyright (c) 2024 BOMCO"
    
    # 设置为Windows应用程序
    CONFIG += windows
}

# macOS特定设置
macx {
    QMAKE_INFO_PLIST = Info.plist
    ICON = icon.icns
}

# Linux特定设置
unix:!macx {
    target.path = /usr/local/bin
    INSTALLS += target
}

# 发布配置
CONFIG(release, debug|release) {
    DEFINES += QT_NO_DEBUG_OUTPUT
    DEFINES += QT_NO_WARNING_OUTPUT
}

# 调试配置
CONFIG(debug, debug|release) {
    TARGET = TouchKeyboard_d
    DEFINES += DEBUG_MODE
}

# 输出目录设置
CONFIG(debug, debug|release) {
    DESTDIR = $$PWD/build/debug
} else {
    DESTDIR = $$PWD/build/release
}

# 中间文件目录
OBJECTS_DIR = $$DESTDIR/obj
MOC_DIR = $$DESTDIR/moc
RCC_DIR = $$DESTDIR/rcc
UI_DIR = $$DESTDIR/ui
